//
//  HPMainTabbar.swift
//  MyWeibo
//
//  Created by Apeng on 16/4/6.
//  Copyright © 2016年 Apengpeng. All rights reserved.
//

import UIKit

class HPMainTabbar: UITabBar {
    
    
    // 重写init 方法
    override init(frame: CGRect) {
        super.init(frame: frame)
//        addSubview(plusBtn) 
//        insertSubview(plusBtn, aboveSubview: self)
        insertSubview(plusBtn, atIndex: self.subviews.count)
    }
// 重写了init frame 方法后就会生成一下方法,次方法是程序通过xib / sb 去加载视图时才会执行
// 实现了此方法后, 就是不在支持xib / sb 加载视图
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
        
    }
    
    // 重写 layoutSubviews 
    override func layoutSubviews() {
        super.layoutSubviews()
        // 设置fame, 重新布局
        let btnW = frame.size.width / 5
        let btnH = frame.size.height
        let rect = CGRect(x: 0, y: 0, width: btnW, height: btnH)
        var indx :CGFloat = 0
        // 遍历
        for subView in subviews {
//            print(subView)
            if subView.isKindOfClass(NSClassFromString("UITabBarButton")!){
                subView.frame = CGRectOffset(rect, indx * btnW, 0)
                
                // 索引增加
                indx += (indx == 1) ? 2 : 1
            }
        }
        plusBtn.frame = CGRectOffset(rect, 2 * btnW, 0)
//        plusBtn.frame = CGRectOffset(rect, 2 * btnW, -20)
        bringSubviewToFront(plusBtn)
    }
    
    // 懒加载控件
    lazy var plusBtn :UIButton = {
        let btn = UIButton()
        // 设置背景图片
        btn.setBackgroundImage(UIImage(named: "tabbar_compose_button"), forState: .Normal)
        btn.setBackgroundImage(UIImage(named: "tabbar_compose_button_highlighted"), forState: .Highlighted)
        
        // 设置图片
        btn.setImage(UIImage(named: "tabbar_compose_icon_add"), forState: .Normal)
        btn.setImage(UIImage(named: "tabbar_compose_icon_add_highlighted"), forState: .Highlighted)
        return btn
        }()
    
}
